
#pragma warning( disable: 4049 )  /* more than 64k source lines */
#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */
#pragma warning( disable: 4211 )  /* redefine extent to static */
#pragma warning( disable: 4232 )  /* dllimport identity*/

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0359 */
/* at Wed May 04 19:28:34 2005
 */
/* Compiler settings for C:\soap_src\SimonFell\pocketsoap\Attachments_core\Attachments.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __Attachments_h__
#define __Attachments_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IPartPayload_FWD_DEFINED__
#define __IPartPayload_FWD_DEFINED__
typedef interface IPartPayload IPartPayload;
#endif 	/* __IPartPayload_FWD_DEFINED__ */


#ifndef __IPartPayloadProvider_FWD_DEFINED__
#define __IPartPayloadProvider_FWD_DEFINED__
typedef interface IPartPayloadProvider IPartPayloadProvider;
#endif 	/* __IPartPayloadProvider_FWD_DEFINED__ */


#ifndef __ISoapAttachmentFormat_FWD_DEFINED__
#define __ISoapAttachmentFormat_FWD_DEFINED__
typedef interface ISoapAttachmentFormat ISoapAttachmentFormat;
#endif 	/* __ISoapAttachmentFormat_FWD_DEFINED__ */


#ifndef __ISoapAttachment_FWD_DEFINED__
#define __ISoapAttachment_FWD_DEFINED__
typedef interface ISoapAttachment ISoapAttachment;
#endif 	/* __ISoapAttachment_FWD_DEFINED__ */


#ifndef __ISoapAttachments_FWD_DEFINED__
#define __ISoapAttachments_FWD_DEFINED__
typedef interface ISoapAttachments ISoapAttachments;
#endif 	/* __ISoapAttachments_FWD_DEFINED__ */


#ifndef __IAttachmentManger_FWD_DEFINED__
#define __IAttachmentManger_FWD_DEFINED__
typedef interface IAttachmentManger IAttachmentManger;
#endif 	/* __IAttachmentManger_FWD_DEFINED__ */


#ifndef __IAttachmentMangerDisp_FWD_DEFINED__
#define __IAttachmentMangerDisp_FWD_DEFINED__
typedef interface IAttachmentMangerDisp IAttachmentMangerDisp;
#endif 	/* __IAttachmentMangerDisp_FWD_DEFINED__ */


#ifndef __CoAttachmentManager_FWD_DEFINED__
#define __CoAttachmentManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoAttachmentManager CoAttachmentManager;
#else
typedef struct CoAttachmentManager CoAttachmentManager;
#endif /* __cplusplus */

#endif 	/* __CoAttachmentManager_FWD_DEFINED__ */


#ifndef __CoSoapAttachment_FWD_DEFINED__
#define __CoSoapAttachment_FWD_DEFINED__

#ifdef __cplusplus
typedef class CoSoapAttachment CoSoapAttachment;
#else
typedef struct CoSoapAttachment CoSoapAttachment;
#endif /* __cplusplus */

#endif 	/* __CoSoapAttachment_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#include "psoap.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IPartPayload_INTERFACE_DEFINED__
#define __IPartPayload_INTERFACE_DEFINED__

/* interface IPartPayload */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IPartPayload;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4D0455C7-7073-4c0d-A739-ADCFF6DEF5E6")
    IPartPayload : public IStreamReader
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Lock( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Size( 
            DWORD *cb) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPartPayloadVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPartPayload * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPartPayload * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPartPayload * This);
        
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IPartPayload * This,
            void *pv,
            ULONG cb,
            ULONG *pcbRead);
        
        HRESULT ( STDMETHODCALLTYPE *Reset )( 
            IPartPayload * This);
        
        HRESULT ( STDMETHODCALLTYPE *Lock )( 
            IPartPayload * This);
        
        HRESULT ( STDMETHODCALLTYPE *Unlock )( 
            IPartPayload * This);
        
        HRESULT ( STDMETHODCALLTYPE *Size )( 
            IPartPayload * This,
            DWORD *cb);
        
        END_INTERFACE
    } IPartPayloadVtbl;

    interface IPartPayload
    {
        CONST_VTBL struct IPartPayloadVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPartPayload_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPartPayload_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPartPayload_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPartPayload_Read(This,pv,cb,pcbRead)	\
    (This)->lpVtbl -> Read(This,pv,cb,pcbRead)

#define IPartPayload_Reset(This)	\
    (This)->lpVtbl -> Reset(This)


#define IPartPayload_Lock(This)	\
    (This)->lpVtbl -> Lock(This)

#define IPartPayload_Unlock(This)	\
    (This)->lpVtbl -> Unlock(This)

#define IPartPayload_Size(This,cb)	\
    (This)->lpVtbl -> Size(This,cb)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IPartPayload_Lock_Proxy( 
    IPartPayload * This);


void __RPC_STUB IPartPayload_Lock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IPartPayload_Unlock_Proxy( 
    IPartPayload * This);


void __RPC_STUB IPartPayload_Unlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE IPartPayload_Size_Proxy( 
    IPartPayload * This,
    DWORD *cb);


void __RPC_STUB IPartPayload_Size_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPartPayload_INTERFACE_DEFINED__ */


#ifndef __IPartPayloadProvider_INTERFACE_DEFINED__
#define __IPartPayloadProvider_INTERFACE_DEFINED__

/* interface IPartPayloadProvider */
/* [unique][helpstring][local][uuid][object] */ 


EXTERN_C const IID IID_IPartPayloadProvider;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("085DC0B1-C055-4dba-8415-3C09DD7F7E01")
    IPartPayloadProvider : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PartPayload( 
            /* [retval][out] */ IPartPayload **payload) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IPartPayloadProviderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPartPayloadProvider * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPartPayloadProvider * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPartPayloadProvider * This);
        
        HRESULT ( STDMETHODCALLTYPE *PartPayload )( 
            IPartPayloadProvider * This,
            /* [retval][out] */ IPartPayload **payload);
        
        END_INTERFACE
    } IPartPayloadProviderVtbl;

    interface IPartPayloadProvider
    {
        CONST_VTBL struct IPartPayloadProviderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPartPayloadProvider_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IPartPayloadProvider_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IPartPayloadProvider_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IPartPayloadProvider_PartPayload(This,payload)	\
    (This)->lpVtbl -> PartPayload(This,payload)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IPartPayloadProvider_PartPayload_Proxy( 
    IPartPayloadProvider * This,
    /* [retval][out] */ IPartPayload **payload);


void __RPC_STUB IPartPayloadProvider_PartPayload_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IPartPayloadProvider_INTERFACE_DEFINED__ */



#ifndef __PocketSOAPAttachments_LIBRARY_DEFINED__
#define __PocketSOAPAttachments_LIBRARY_DEFINED__

/* library PocketSOAPAttachments */
/* [helpstring][version][uuid] */ 

typedef 
enum AttachmentFormat
    {	formatMime	= 0,
	formatDime	= formatMime + 1
    } 	AttachmentFormat;

typedef 
enum AttachmentLocation
    {	attOnDisk	= 0,
	attInMemory	= attOnDisk + 1
    } 	AttachmentLocation;

typedef 
enum TypeNameFormat
    {	tnfUnchanged	= 0,
	tnfMediaType	= 0x1,
	tnfAbsoluteURI	= 0x2,
	tnfUnknown	= 0x3,
	tnfNone	= 0x4,
	tnfReserved1	= 0x5,
	tnfReserved2	= 0x6,
	tnfReserved3	= 0x7
    } 	TypeNameFormat;

typedef /* [v1_enum][public] */ 
enum pocketSOAPAttachmentErrors
    {	E_INVALID_CONTENTTYPE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4401),
	E_START_MISSING	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4402),
	E_BOUNDARY_MISSING	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4403),
	E_BOUNDARY_NOTFOUND	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4404),
	E_ENCODING_NOT_SUP	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4405),
	E_INVALID_TRANSPORT	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x4406)
    } 	;


EXTERN_C const IID LIBID_PocketSOAPAttachments;

#ifndef __ISoapAttachmentFormat_INTERFACE_DEFINED__
#define __ISoapAttachmentFormat_INTERFACE_DEFINED__

/* interface ISoapAttachmentFormat */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_ISoapAttachmentFormat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B7690739-180E-45f2-97CC-48F2C5B0DA0C")
    ISoapAttachmentFormat : public IUnknown
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
            /* [retval][out] */ AttachmentFormat *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Format( 
            /* [in] */ AttachmentFormat newVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISoapAttachmentFormatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISoapAttachmentFormat * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISoapAttachmentFormat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISoapAttachmentFormat * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            ISoapAttachmentFormat * This,
            /* [retval][out] */ AttachmentFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            ISoapAttachmentFormat * This,
            /* [in] */ AttachmentFormat newVal);
        
        END_INTERFACE
    } ISoapAttachmentFormatVtbl;

    interface ISoapAttachmentFormat
    {
        CONST_VTBL struct ISoapAttachmentFormatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISoapAttachmentFormat_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISoapAttachmentFormat_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISoapAttachmentFormat_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISoapAttachmentFormat_get_Format(This,pVal)	\
    (This)->lpVtbl -> get_Format(This,pVal)

#define ISoapAttachmentFormat_put_Format(This,newVal)	\
    (This)->lpVtbl -> put_Format(This,newVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachmentFormat_get_Format_Proxy( 
    ISoapAttachmentFormat * This,
    /* [retval][out] */ AttachmentFormat *pVal);


void __RPC_STUB ISoapAttachmentFormat_get_Format_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachmentFormat_put_Format_Proxy( 
    ISoapAttachmentFormat * This,
    /* [in] */ AttachmentFormat newVal);


void __RPC_STUB ISoapAttachmentFormat_put_Format_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISoapAttachmentFormat_INTERFACE_DEFINED__ */


#ifndef __ISoapAttachment_INTERFACE_DEFINED__
#define __ISoapAttachment_INTERFACE_DEFINED__

/* interface ISoapAttachment */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_ISoapAttachment;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0C834F57-592B-449b-B6A7-EFB1FE21BE69")
    ISoapAttachment : public ISoapAttachmentFormat
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize( 
            /* [in] */ VARIANT body,
            /* [in] */ TypeNameFormat typeNameFormat,
            /* [in] */ BSTR TypeName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Body( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Body( 
            /* [in] */ VARIANT body) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TypeNameFormat( 
            /* [retval][out] */ TypeNameFormat *tnf) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TypeNameFormat( 
            /* [in] */ TypeNameFormat tnf) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TypeName( 
            /* [retval][out] */ BSTR *contentType) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TypeName( 
            /* [in] */ BSTR contentType) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContentId( 
            /* [retval][out] */ BSTR *contentId) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ContentId( 
            /* [in] */ BSTR contentId) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Located( 
            /* [retval][out] */ AttachmentLocation *loc) = 0;
        
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Uri( 
            /* [retval][out] */ BSTR *uri) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Uri( 
            /* [in] */ BSTR uri) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR fileName) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISoapAttachmentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISoapAttachment * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISoapAttachment * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISoapAttachment * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            ISoapAttachment * This,
            /* [retval][out] */ AttachmentFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            ISoapAttachment * This,
            /* [in] */ AttachmentFormat newVal);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            ISoapAttachment * This,
            /* [in] */ VARIANT body,
            /* [in] */ TypeNameFormat typeNameFormat,
            /* [in] */ BSTR TypeName);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Body )( 
            ISoapAttachment * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Body )( 
            ISoapAttachment * This,
            /* [in] */ VARIANT body);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeNameFormat )( 
            ISoapAttachment * This,
            /* [retval][out] */ TypeNameFormat *tnf);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TypeNameFormat )( 
            ISoapAttachment * This,
            /* [in] */ TypeNameFormat tnf);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TypeName )( 
            ISoapAttachment * This,
            /* [retval][out] */ BSTR *contentType);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TypeName )( 
            ISoapAttachment * This,
            /* [in] */ BSTR contentType);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentId )( 
            ISoapAttachment * This,
            /* [retval][out] */ BSTR *contentId);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContentId )( 
            ISoapAttachment * This,
            /* [in] */ BSTR contentId);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Located )( 
            ISoapAttachment * This,
            /* [retval][out] */ AttachmentLocation *loc);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ISoapAttachment * This,
            /* [retval][out] */ BSTR *uri);
        
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Uri )( 
            ISoapAttachment * This,
            /* [in] */ BSTR uri);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            ISoapAttachment * This,
            /* [in] */ BSTR fileName);
        
        END_INTERFACE
    } ISoapAttachmentVtbl;

    interface ISoapAttachment
    {
        CONST_VTBL struct ISoapAttachmentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISoapAttachment_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISoapAttachment_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISoapAttachment_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISoapAttachment_get_Format(This,pVal)	\
    (This)->lpVtbl -> get_Format(This,pVal)

#define ISoapAttachment_put_Format(This,newVal)	\
    (This)->lpVtbl -> put_Format(This,newVal)


#define ISoapAttachment_Initialize(This,body,typeNameFormat,TypeName)	\
    (This)->lpVtbl -> Initialize(This,body,typeNameFormat,TypeName)

#define ISoapAttachment_get_Body(This,pVal)	\
    (This)->lpVtbl -> get_Body(This,pVal)

#define ISoapAttachment_put_Body(This,body)	\
    (This)->lpVtbl -> put_Body(This,body)

#define ISoapAttachment_get_TypeNameFormat(This,tnf)	\
    (This)->lpVtbl -> get_TypeNameFormat(This,tnf)

#define ISoapAttachment_put_TypeNameFormat(This,tnf)	\
    (This)->lpVtbl -> put_TypeNameFormat(This,tnf)

#define ISoapAttachment_get_TypeName(This,contentType)	\
    (This)->lpVtbl -> get_TypeName(This,contentType)

#define ISoapAttachment_put_TypeName(This,contentType)	\
    (This)->lpVtbl -> put_TypeName(This,contentType)

#define ISoapAttachment_get_ContentId(This,contentId)	\
    (This)->lpVtbl -> get_ContentId(This,contentId)

#define ISoapAttachment_put_ContentId(This,contentId)	\
    (This)->lpVtbl -> put_ContentId(This,contentId)

#define ISoapAttachment_get_Located(This,loc)	\
    (This)->lpVtbl -> get_Located(This,loc)

#define ISoapAttachment_get_Uri(This,uri)	\
    (This)->lpVtbl -> get_Uri(This,uri)

#define ISoapAttachment_put_Uri(This,uri)	\
    (This)->lpVtbl -> put_Uri(This,uri)

#define ISoapAttachment_Save(This,fileName)	\
    (This)->lpVtbl -> Save(This,fileName)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_Initialize_Proxy( 
    ISoapAttachment * This,
    /* [in] */ VARIANT body,
    /* [in] */ TypeNameFormat typeNameFormat,
    /* [in] */ BSTR TypeName);


void __RPC_STUB ISoapAttachment_Initialize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_Body_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB ISoapAttachment_get_Body_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_put_Body_Proxy( 
    ISoapAttachment * This,
    /* [in] */ VARIANT body);


void __RPC_STUB ISoapAttachment_put_Body_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_TypeNameFormat_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ TypeNameFormat *tnf);


void __RPC_STUB ISoapAttachment_get_TypeNameFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_put_TypeNameFormat_Proxy( 
    ISoapAttachment * This,
    /* [in] */ TypeNameFormat tnf);


void __RPC_STUB ISoapAttachment_put_TypeNameFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_TypeName_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ BSTR *contentType);


void __RPC_STUB ISoapAttachment_get_TypeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_put_TypeName_Proxy( 
    ISoapAttachment * This,
    /* [in] */ BSTR contentType);


void __RPC_STUB ISoapAttachment_put_TypeName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_ContentId_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ BSTR *contentId);


void __RPC_STUB ISoapAttachment_get_ContentId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_put_ContentId_Proxy( 
    ISoapAttachment * This,
    /* [in] */ BSTR contentId);


void __RPC_STUB ISoapAttachment_put_ContentId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_Located_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ AttachmentLocation *loc);


void __RPC_STUB ISoapAttachment_get_Located_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_get_Uri_Proxy( 
    ISoapAttachment * This,
    /* [retval][out] */ BSTR *uri);


void __RPC_STUB ISoapAttachment_get_Uri_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propput] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_put_Uri_Proxy( 
    ISoapAttachment * This,
    /* [in] */ BSTR uri);


void __RPC_STUB ISoapAttachment_put_Uri_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE ISoapAttachment_Save_Proxy( 
    ISoapAttachment * This,
    /* [in] */ BSTR fileName);


void __RPC_STUB ISoapAttachment_Save_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISoapAttachment_INTERFACE_DEFINED__ */


#ifndef __ISoapAttachments_INTERFACE_DEFINED__
#define __ISoapAttachments_INTERFACE_DEFINED__

/* interface ISoapAttachments */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_ISoapAttachments;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("27EA280D-FC94-46f4-B18E-9EEEB6BD915E")
    ISoapAttachments : public ISoapAttachmentFormat
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pVal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ long idx,
            /* [retval][out] */ ISoapAttachment **attachment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Find( 
            /* [in] */ BSTR uri,
            /* [retval][out] */ ISoapAttachment **attachment) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Append( 
            /* [in] */ ISoapAttachment *newNode) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ VARIANT src,
            /* [in] */ TypeNameFormat tnf,
            /* [in] */ BSTR TypeName,
            /* [retval][out] */ ISoapAttachment **attachment) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISoapAttachmentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISoapAttachments * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISoapAttachments * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISoapAttachments * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            ISoapAttachments * This,
            /* [retval][out] */ AttachmentFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            ISoapAttachments * This,
            /* [in] */ AttachmentFormat newVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            ISoapAttachments * This,
            /* [retval][out] */ IUnknown **pVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ISoapAttachments * This,
            /* [retval][out] */ long *Count);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            ISoapAttachments * This,
            /* [in] */ long idx,
            /* [retval][out] */ ISoapAttachment **attachment);
        
        HRESULT ( STDMETHODCALLTYPE *Find )( 
            ISoapAttachments * This,
            /* [in] */ BSTR uri,
            /* [retval][out] */ ISoapAttachment **attachment);
        
        HRESULT ( STDMETHODCALLTYPE *Append )( 
            ISoapAttachments * This,
            /* [in] */ ISoapAttachment *newNode);
        
        HRESULT ( STDMETHODCALLTYPE *Clear )( 
            ISoapAttachments * This);
        
        HRESULT ( STDMETHODCALLTYPE *Create )( 
            ISoapAttachments * This,
            /* [in] */ VARIANT src,
            /* [in] */ TypeNameFormat tnf,
            /* [in] */ BSTR TypeName,
            /* [retval][out] */ ISoapAttachment **attachment);
        
        END_INTERFACE
    } ISoapAttachmentsVtbl;

    interface ISoapAttachments
    {
        CONST_VTBL struct ISoapAttachmentsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISoapAttachments_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISoapAttachments_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ISoapAttachments_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ISoapAttachments_get_Format(This,pVal)	\
    (This)->lpVtbl -> get_Format(This,pVal)

#define ISoapAttachments_put_Format(This,newVal)	\
    (This)->lpVtbl -> put_Format(This,newVal)


#define ISoapAttachments_get__NewEnum(This,pVal)	\
    (This)->lpVtbl -> get__NewEnum(This,pVal)

#define ISoapAttachments_get_Count(This,Count)	\
    (This)->lpVtbl -> get_Count(This,Count)

#define ISoapAttachments_get_Item(This,idx,attachment)	\
    (This)->lpVtbl -> get_Item(This,idx,attachment)

#define ISoapAttachments_Find(This,uri,attachment)	\
    (This)->lpVtbl -> Find(This,uri,attachment)

#define ISoapAttachments_Append(This,newNode)	\
    (This)->lpVtbl -> Append(This,newNode)

#define ISoapAttachments_Clear(This)	\
    (This)->lpVtbl -> Clear(This)

#define ISoapAttachments_Create(This,src,tnf,TypeName,attachment)	\
    (This)->lpVtbl -> Create(This,src,tnf,TypeName,attachment)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachments_get__NewEnum_Proxy( 
    ISoapAttachments * This,
    /* [retval][out] */ IUnknown **pVal);


void __RPC_STUB ISoapAttachments_get__NewEnum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachments_get_Count_Proxy( 
    ISoapAttachments * This,
    /* [retval][out] */ long *Count);


void __RPC_STUB ISoapAttachments_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE ISoapAttachments_get_Item_Proxy( 
    ISoapAttachments * This,
    /* [in] */ long idx,
    /* [retval][out] */ ISoapAttachment **attachment);


void __RPC_STUB ISoapAttachments_get_Item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ISoapAttachments_Find_Proxy( 
    ISoapAttachments * This,
    /* [in] */ BSTR uri,
    /* [retval][out] */ ISoapAttachment **attachment);


void __RPC_STUB ISoapAttachments_Find_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ISoapAttachments_Append_Proxy( 
    ISoapAttachments * This,
    /* [in] */ ISoapAttachment *newNode);


void __RPC_STUB ISoapAttachments_Append_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ISoapAttachments_Clear_Proxy( 
    ISoapAttachments * This);


void __RPC_STUB ISoapAttachments_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


HRESULT STDMETHODCALLTYPE ISoapAttachments_Create_Proxy( 
    ISoapAttachments * This,
    /* [in] */ VARIANT src,
    /* [in] */ TypeNameFormat tnf,
    /* [in] */ BSTR TypeName,
    /* [retval][out] */ ISoapAttachment **attachment);


void __RPC_STUB ISoapAttachments_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ISoapAttachments_INTERFACE_DEFINED__ */


#ifndef __IAttachmentManger_INTERFACE_DEFINED__
#define __IAttachmentManger_INTERFACE_DEFINED__

/* interface IAttachmentManger */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IAttachmentManger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35DC7342-3D83-4b31-8552-F25A7E5C4792")
    IAttachmentManger : public ISoapAttachmentFormat
    {
    public:
        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiskThreshold( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiskThreshold( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Transport( 
            /* [retval][out] */ ISOAPTransport **theTransport) = 0;
        
        virtual /* [propputref] */ HRESULT STDMETHODCALLTYPE putref_Transport( 
            /* [in] */ ISOAPTransport *theTransport) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Request( 
            /* [retval][out] */ ISoapAttachments **collection) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Response( 
            /* [retval][out] */ ISoapAttachments **collection) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAttachmentMangerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAttachmentManger * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAttachmentManger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAttachmentManger * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IAttachmentManger * This,
            /* [retval][out] */ AttachmentFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            IAttachmentManger * This,
            /* [in] */ AttachmentFormat newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiskThreshold )( 
            IAttachmentManger * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiskThreshold )( 
            IAttachmentManger * This,
            /* [in] */ long newVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transport )( 
            IAttachmentManger * This,
            /* [retval][out] */ ISOAPTransport **theTransport);
        
        /* [propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Transport )( 
            IAttachmentManger * This,
            /* [in] */ ISOAPTransport *theTransport);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )( 
            IAttachmentManger * This,
            /* [retval][out] */ ISoapAttachments **collection);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )( 
            IAttachmentManger * This,
            /* [retval][out] */ ISoapAttachments **collection);
        
        END_INTERFACE
    } IAttachmentMangerVtbl;

    interface IAttachmentManger
    {
        CONST_VTBL struct IAttachmentMangerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAttachmentManger_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IAttachmentManger_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IAttachmentManger_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IAttachmentManger_get_Format(This,pVal)	\
    (This)->lpVtbl -> get_Format(This,pVal)

#define IAttachmentManger_put_Format(This,newVal)	\
    (This)->lpVtbl -> put_Format(This,newVal)


#define IAttachmentManger_get_DiskThreshold(This,pVal)	\
    (This)->lpVtbl -> get_DiskThreshold(This,pVal)

#define IAttachmentManger_put_DiskThreshold(This,newVal)	\
    (This)->lpVtbl -> put_DiskThreshold(This,newVal)

#define IAttachmentManger_get_Transport(This,theTransport)	\
    (This)->lpVtbl -> get_Transport(This,theTransport)

#define IAttachmentManger_putref_Transport(This,theTransport)	\
    (This)->lpVtbl -> putref_Transport(This,theTransport)

#define IAttachmentManger_get_Request(This,collection)	\
    (This)->lpVtbl -> get_Request(This,collection)

#define IAttachmentManger_get_Response(This,collection)	\
    (This)->lpVtbl -> get_Response(This,collection)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_get_DiskThreshold_Proxy( 
    IAttachmentManger * This,
    /* [retval][out] */ long *pVal);


void __RPC_STUB IAttachmentManger_get_DiskThreshold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_put_DiskThreshold_Proxy( 
    IAttachmentManger * This,
    /* [in] */ long newVal);


void __RPC_STUB IAttachmentManger_put_DiskThreshold_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_get_Transport_Proxy( 
    IAttachmentManger * This,
    /* [retval][out] */ ISOAPTransport **theTransport);


void __RPC_STUB IAttachmentManger_get_Transport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propputref] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_putref_Transport_Proxy( 
    IAttachmentManger * This,
    /* [in] */ ISOAPTransport *theTransport);


void __RPC_STUB IAttachmentManger_putref_Transport_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_get_Request_Proxy( 
    IAttachmentManger * This,
    /* [retval][out] */ ISoapAttachments **collection);


void __RPC_STUB IAttachmentManger_get_Request_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [propget] */ HRESULT STDMETHODCALLTYPE IAttachmentManger_get_Response_Proxy( 
    IAttachmentManger * This,
    /* [retval][out] */ ISoapAttachments **collection);


void __RPC_STUB IAttachmentManger_get_Response_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAttachmentManger_INTERFACE_DEFINED__ */


#ifndef __IAttachmentMangerDisp_INTERFACE_DEFINED__
#define __IAttachmentMangerDisp_INTERFACE_DEFINED__

/* interface IAttachmentMangerDisp */
/* [unique][helpstring][oleautomation][uuid][object] */ 


EXTERN_C const IID IID_IAttachmentMangerDisp;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A56557C9-AA8C-4cba-9DF2-B5285F73E0EE")
    IAttachmentMangerDisp : public IAttachmentManger
    {
    public:
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Send( 
            /* [in] */ BSTR endpoint,
            /* [in] */ BSTR Envelope) = 0;
        
        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Receive( 
            /* [out][in] */ BSTR *characterEncoding,
            /* [retval][out] */ SAFEARRAY * *Envelope) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IAttachmentMangerDispVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAttachmentMangerDisp * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAttachmentMangerDisp * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAttachmentMangerDisp * This);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Format )( 
            IAttachmentMangerDisp * This,
            /* [retval][out] */ AttachmentFormat *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Format )( 
            IAttachmentMangerDisp * This,
            /* [in] */ AttachmentFormat newVal);
        
        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiskThreshold )( 
            IAttachmentMangerDisp * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DiskThreshold )( 
            IAttachmentMangerDisp * This,
            /* [in] */ long newVal);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transport )( 
            IAttachmentMangerDisp * This,
            /* [retval][out] */ ISOAPTransport **theTransport);
        
        /* [propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_Transport )( 
            IAttachmentMangerDisp * This,
            /* [in] */ ISOAPTransport *theTransport);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )( 
            IAttachmentMangerDisp * This,
            /* [retval][out] */ ISoapAttachments **collection);
        
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )( 
            IAttachmentMangerDisp * This,
            /* [retval][out] */ ISoapAttachments **collection);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Send )( 
            IAttachmentMangerDisp * This,
            /* [in] */ BSTR endpoint,
            /* [in] */ BSTR Envelope);
        
        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Receive )( 
            IAttachmentMangerDisp * This,
            /* [out][in] */ BSTR *characterEncoding,
            /* [retval][out] */ SAFEARRAY * *Envelope);
        
        END_INTERFACE
    } IAttachmentMangerDispVtbl;

    interface IAttachmentMangerDisp
    {
        CONST_VTBL struct IAttachmentMangerDispVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAttachmentMangerDisp_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IAttachmentMangerDisp_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IAttachmentMangerDisp_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IAttachmentMangerDisp_get_Format(This,pVal)	\
    (This)->lpVtbl -> get_Format(This,pVal)

#define IAttachmentMangerDisp_put_Format(This,newVal)	\
    (This)->lpVtbl -> put_Format(This,newVal)


#define IAttachmentMangerDisp_get_DiskThreshold(This,pVal)	\
    (This)->lpVtbl -> get_DiskThreshold(This,pVal)

#define IAttachmentMangerDisp_put_DiskThreshold(This,newVal)	\
    (This)->lpVtbl -> put_DiskThreshold(This,newVal)

#define IAttachmentMangerDisp_get_Transport(This,theTransport)	\
    (This)->lpVtbl -> get_Transport(This,theTransport)

#define IAttachmentMangerDisp_putref_Transport(This,theTransport)	\
    (This)->lpVtbl -> putref_Transport(This,theTransport)

#define IAttachmentMangerDisp_get_Request(This,collection)	\
    (This)->lpVtbl -> get_Request(This,collection)

#define IAttachmentMangerDisp_get_Response(This,collection)	\
    (This)->lpVtbl -> get_Response(This,collection)


#define IAttachmentMangerDisp_Send(This,endpoint,Envelope)	\
    (This)->lpVtbl -> Send(This,endpoint,Envelope)

#define IAttachmentMangerDisp_Receive(This,characterEncoding,Envelope)	\
    (This)->lpVtbl -> Receive(This,characterEncoding,Envelope)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring] */ HRESULT STDMETHODCALLTYPE IAttachmentMangerDisp_Send_Proxy( 
    IAttachmentMangerDisp * This,
    /* [in] */ BSTR endpoint,
    /* [in] */ BSTR Envelope);


void __RPC_STUB IAttachmentMangerDisp_Send_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring] */ HRESULT STDMETHODCALLTYPE IAttachmentMangerDisp_Receive_Proxy( 
    IAttachmentMangerDisp * This,
    /* [out][in] */ BSTR *characterEncoding,
    /* [retval][out] */ SAFEARRAY * *Envelope);


void __RPC_STUB IAttachmentMangerDisp_Receive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAttachmentMangerDisp_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CoAttachmentManager;

#ifdef __cplusplus

class DECLSPEC_UUID("C7899023-E487-4268-AE2A-4EC50136DAB3")
CoAttachmentManager;
#endif

EXTERN_C const CLSID CLSID_CoSoapAttachment;

#ifdef __cplusplus

class DECLSPEC_UUID("AC85F9B4-28D6-408D-AED3-65EC93D89C0F")
CoSoapAttachment;
#endif
#endif /* __PocketSOAPAttachments_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


